package com.example.demo.domain.exam.condition;

import com.example.demo.annotation.ConditionOperator;
import com.example.demo.enums.ExamStatus;
import com.example.demo.enums.Operator;
import lombok.Data;

import java.sql.Timestamp;
import java.util.List;

@Data
public class ExamCondition {

    @ConditionOperator(name = "exam_name", operator = Operator.Like)
    private String examName;

    @ConditionOperator(name = "class_id", operator = Operator.In)
    private List<Long> classIds;

    @ConditionOperator(name = "paper_id", operator = Operator.Equal)
    private Long paperId;

    @ConditionOperator(name = "start_time", operator = Operator.GreaterThanEqual)
    private Timestamp startTime;

    @ConditionOperator(name = "end_time", operator = Operator.LessThanEqual)
    private Timestamp endTime;

    @ConditionOperator(name = "exam_status", operator = Operator.Equal)
    private ExamStatus examStatus;

    @ConditionOperator(name = "company_id", operator = Operator.Equal)
    private Long companyId;

    @ConditionOperator(name = "creator_id", operator = Operator.Equal)
    private Long creatorId;

}
